1. Field of the Invention
The present invention relates to computer keyboards and in particular to computer keyboards utilizing a touch operated membrane switch with key layout overlays.
2. The Prior Art
Generally speaking, a computer is typically composed of the basic elements of a central processing unit (CPU), a data input device, and an output device. The input device (for a manually operated computer) is most commonly a keyboard, and the output device is typically a monitor providing a visual display.
Generally speaking, a keyboard is a collection of "keys" which when pressed (activated) generate, what is commonly referred to as, scan codes that are transmitted (typically via a cable) to, and understood by, the connected CPU. These key-generated scan codes typically represent data and commands for operating the computer, and differ for different CPUs. That is, a scan code for the letter "a" for an IBM.RTM. CPU will differ from the scan code for the letter "a" for a Macintosh.RTM. CPU, both in the content of the code and in the protocol of sending that content.
By custom, keyboards have individual letter keys arranged in the same pattern (QWERTY) as was originated for typewriters, plus a number of command keys for various operations of the computer. Computer keyboard operation is therefore very similar to typewriter operation and requires essentially the same general degree of manual dexterity.
In 1979 Steve Gensler developed a different kind of keyboard to accommodate the needs of a friend who had cerebral palsy. The basic element of this new keyboard was a keypad utilizing a membrane switch array rather than a number of discrete keys (for example, an array of 576 switches--each approximately 0.30 inches tall and 0.50 inches wide--arranged in an array of 24 rows by 24 columns). This good Samaritan act by Gensler led to the creation of Unicorn Engineering, a company which over the past decade has studied, developed, produced and marketed membrane keyboards for users with motor difficulties from such disabilities as cerebral palsy, mental retardation, brain trauma, visual impairments and the like.
A press on a membrane switch at a specific location results in the activation of a switch. A plurality of adjacent switches can be effectively grouped so that a press of any one is equivalent (in the resulting information sent to the CPU) to the press of any other switch in the group. In this way, a "key" can be created of a size and/or shape that meets special needs of a particular user or group of users. The grouping of switches to form "keys" is commonly refereed to as keyboard "mapping".
In order for a keyboard to operate as a data entry device for a CPU, it is necessary for it to be able to send information to the CPU that the CPU interprets as key presses from a standard keyboard. This is accomplished either by sending scan codes directly to the CPU's keyboard input port (as does a standard keyboard) or by sending information to another port of the CPU (such as a serial port) and using software running on the CPU to convert the transmitted information into the approximate equivalent of a standard keyboard press. The later method, because it does not send actual scan code to the CPU, leads to incompatibility with some software. Prior to the present invention, it has been necessary for a membrane keyboard to be connected to the CPU through a separate piece of hardware--an interface device containing hardware and firmware, and in some cases software--in order to deliver useful information to a CPU. The vast majority of such interface devices utilize a serial port, ersatz scan code approach rather than the actual scan code approach. Because different CPU's recognize different scan codes, a particular interface device has typically been necessary to transform membrane keyboard presses into recognizable information for the particular computer CPU to which it is connected. Those prior art interface devices designed to work with more than one type of CPU are both difficult to use and require manual operation each time a different CPU is attached.
While prior art interface devices have provided membrane keyboards with the ability to communicate with a CPU, they do so only after extensive setup and user training. For people with disabilities the use of an interface device, and thus the computer itself, has often required the dedication of much time, energy, resources and the assistance of others. In addition, prior art interface devices typically are not universally compatible with all software and thus limit the programs that can be run with a membrane switch keyboard.
Prior art keyboards, of the type to which the present invention relates, suffer from two or more of the following disadvantages: they require difficult to use interface hardware; they limit the software that can be used; they require manual operations to recognize different overlays; and they have limited computer compatibility.
One of the primary advantages of the membrane keyboard is its suitability for creating "keys" of shapes and sizes that meet particular user requirements not met by standard keyboards. The "keys" created are typically graphically presented to the user on a thin card (overlay) printed with the desired keyboard keys and inserted over the membrane switch. These keys can be color coded as well as symbolically or alpha-numerically labeled and of a size that aids those without the dexterity to operate a standard keyboard. Typically an overlay may contain letters of the alphabet (presented either in sequence or in QWERTY), numbers, computer operation commands, iconic symbols, pictures or a combination of those. Standard overlay designs have been developed to meet the needs of large segments of those with special needs, and custom overlays can be created (with the use of special software) to meet more personal needs.
When a "key" of an installed overlay is activated (pressed) the interface will deliver the selected data (alpha-numeric data, computer command, etc.) to the CPU, only if a data table is in place to translate keyboard switch activation into information that is correct and ultimately understandable to the attached CPU. Such a data table, which typically ranges in size from 2 to 20 kilobytes of data, corresponds each switch of the membrane switch with an internal code. For keyboards designed to be used with more than one overlay, it is necessary that the particular overlay in place on the membrane keyboard be identified to, and recognized by, the interface or the keyboard's embedded microprocessor so that a corresponding data table can be selected for operation. Only then will the activation of a switch (pressing of a key) be translated into information that the computer recognizes and which matches the symbol or command represented by the key pressed.
This overlay recognition requirement is accomplished in the prior art by some manual act (most typically by using a standard keyboard to make a selection from a list of choices) that results in delivering a code to the interface telling it which overlay is being used. For some disabled users this is not always possible to accomplish and in any event, presents to most disabled users another difficult task to accomplish.
The state of the art of membrane type computer keyboards prior to the present invention is that: the keyboard itself does not output CPU understandable information or scan codes but rather depends on a separate interface device to do so; a differently configured interface device is required for each different type of CPU with which the keyboard is to operate; and each different keyboard overlay must be manually identified in some way to the interface device or CPU after being inserted on the keyboard. Thus, before a computer could be operated with a prior art membrane keyboard, an interface device had to be selected, installed and operated, and a keyboard overlay had to be inserted and manually identified to the interface. Each time an overlay is changed, it has to be manually identified. Each time a different CPU is used the interface must be reconfigured in some way or a new interface selected.
By contrast, the membrane keyboard of the present invention requires no separate interface device and yet is able to operate with a variety of different CPUs by the simple selection of a keyboard cable, and automatically recognizes numerous overlays without requiring any manual act beyond inserting the overlay in place onto the keyboard.